In Software Defined Network (SDN) architectures the network intelligence is centralised in a single element, called the network controller, with the aim of reducing the complexity of the switching elements in the data plane. OpenFlow is an example of an SDN architecture. In OpenFlow networks, the OpenFlow Protocol is used through a secure channel for the communications between the network controller and the switching elements. The controller decides how to deliver traffic by programming the flow-tables of switching elements. A flow-table consists of several flow-entries. Each flow-entry is composed of: a flow-match composed of a set of fields to identify the incoming packets, an action, to process the matching packets, and several counters, to provide flow statistics of the switch. Packets matching one installed entry are forwarded by the switch without involving the controller. Packets not matching any of the installed entries are sent to the controller, that, in turn, will compute a proper route and install the required entries in the data plane.
OpenFlow is currently under consideration for other scenarios, such as optical metro and transport networks where network reliability is an important requirement. However, OpenFlow Specifications 1.1 and 1.2 just provide preliminary reliability functionalities, such as fast failover groups.
Extensions to enable fast recovery in OpenFlow networks have been proposed by S. Sharma et al., “Enabling Fast Failure Recovery in OpenFlow Networks,” 2011 8th International Workshop on the Design of Reliable Communication Networks (DRCN), 2011, October 2011, pp. 164-171. This requires a full-state controller which is aware of all the flows installed in the network. Upon failure, the full-state controller is notified so that it can identify all the disrupted flows and update the data plane flow-entries considering the specific failure. Other approaches are described in D. Staessens, et al., “Software Defined Networking: Meeting Carrier Grade Requirements,” in Proc. LANMAN, 2011, October 2011; and J. Kempf, et al., “Scalable Fault Management for OpenFlow,” in Proc. ICC 2012, June 2011.